<!DOCTYPE HTML>
<html>
<head>
<title>InputBox | AutoHotkey</title>
<meta name="description" content="The InputBox command displays an input box to ask the user to enter a string." />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>InputBox</h1>

<p>显示输入框让用户输入字符串.</p>

<pre class="Syntax"><span class="func">InputBox</span>, OutputVar <span class="optional">, Title, Prompt, HIDE, Width, Height, X, Y, Locale, Timeout, Default</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>OutputVar</dt>
  <dd><p>用来保存用户输入文本的变量名.</p></dd>

  <dt>Title</dt>
  <dd><p>输入框的标题. 如果为空或省略, 则默认为脚本的名称.</p></dd>

  <dt>Prompt</dt>
  <dd><p>输入框的文本, 通常是用于提示用户期望输入的数据类型的信息. 如果 <em>Prompt</em> 较长, 可以通过<a href="../Scripts.htm#continuation">延续片段</a>的方法将其分解成较短的几行, 这样可以增加可读性和可维护性.</p></dd>

  <dt>HIDE</dt>
  <dd><p>如果此参数为 HIDE, 则屏蔽用户的输入, 这可以用于输入密码.</p></dd>

  <dt>Width</dt>
  <dd><p>如果此参数为空或省略, 则窗口的初始宽度为 375. 此参数可以为<a href="../Variables.htm#Expressions">表达式</a>.</p></dd>

  <dt>Height</dt>
  <dd><p>如果此参数为空或省略, 则窗口的初始高度为 189. 此参数可以为<a href="../Variables.htm#Expressions">表达式</a>.</p></dd>

  <dt>X, Y</dt>
  <dd><p>窗口的 X 和 Y 坐标 (使用 0, 0 来将其移动到桌面的左上角), 可以为<a href="../Variables.htm#Expressions">表达式</a>. 如果其中一个坐标为空或省略, 则对话框在这个方向上将居中. 其中一个或两个坐标都可以为负数来把窗口部分或完全移出桌面.</p></dd>

  <dt>Locale <span class="ver">[v1.1.31+]</span></dt>
  <dd><p>如果这个参数是单词 Locale, OK 和 Cancel 按钮将根据当前用户的 locale 来命名(例如, 在中文系统中使用取消来代替 Cancel). 此外, 为了正确显示这些名称, 将按钮加宽, 并增加输入框的最小宽度. 这成为 <a href="https://www.autohotkey.com/v2/">AutoHotkey v2</a> 中的默认行为.</p></dd>

  <dt>Timeout</dt>
  <dd><p>以秒为单位的超时时间(可以为小数或<a href="../Variables.htm#Expressions">表达式</a>). 如果这个值超过 2147483(24.8 天), 那么它会被设置为 2147483. 达到超时时间后, 输入框窗口会自动关闭同时把 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 设置为 2. <em>OutputVar</em> 仍会被设置为用户输入的内容.</p></dd>

  <dt>Default</dt>
  <dd><p>对话框首次出现时显示在输入框中的字符串. 用户可以使用退格或其他方法修改这个字符串.</p></dd>

</dl>
<h2 id="Error_Handling">错误处理</h2>
<p><span class="ver">[v1.1.04+]</span>: 此命令失败时会抛出异常. 想了解更多信息, 请参阅<a href="Catch.htm#RuntimeErrors">运行时错误</a>.</p>
<p>当用户按下取消按钮时 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 值被设置为 1, 按下确定时值为 0, 如果对话框超时则为 2. 在这三种情况中, <em>OutputVar</em> 都被设置为输入的值. 这使得 CANCEL 按钮执行其他的功能而不是脚本设计者期望的取消功能.</p>

<h2 id="Remarks">备注</h2>
<p>输入框通常看起来像这样:</p>
<img src="../static/pics/dlg_input.png" alt="InputBox" />
<p>此对话框允许用户输入文本然后按下 OK 或 CANCEL. 用户可以通过拖动对话框的边界来调整它的大小.</p>
<p>GUI 窗口可以使用 <a href="Gui.htm#OwnDialogs">Gui +OwnDialogs</a> 的方法显示模式输入框. 模式输入框在其消失之前会阻止用户与 GUI 窗口进行交互.</p>
<h2 id="Related">相关</h2>
<p><a href="Gui.htm">GUI</a>, <a href="Input.htm">Input</a>, <a href="MsgBox.htm">MsgBox</a>, <a href="FileSelectFile.htm">FileSelectFile</a>, <a href="FileSelectFolder.htm">FileSelectFolder</a>, <a href="SplashTextOn.htm">SplashTextOn</a>, <a href="ToolTip.htm">ToolTip</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExPassword">
<p><a class="ex_number" href="#ExPassword"></a> 允许用户输入隐藏的密码.</p>
<pre>InputBox, password, Enter Password, (your input will be hidden), hide</pre>
</div>

<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 允许用户输入电话号码.</p>
<pre>InputBox, UserInput, Phone Number, Please enter a phone number., , 640, 480
if ErrorLevel
    MsgBox, CANCEL was pressed.
else
    MsgBox, You entered "%UserInput%"</pre>
</div>

</body>
</html>